home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 051-060 / amok54 / kruemel / kruemel.dok < prev    next >
Text File  |  1993-11-04  |  5KB  |  106 lines

  1.                      Dokumentation zu Krümel
  2.                      ~~~~~~~~~~~~~~~~~~~~~~~
  3. Kopierrecht
  4. ~~~~~~~~~~~
  5. Das komplette Packet (Quelltext, Dokumentation und Objectcode) ist
  6. Public Domain Software. Es darf beliebig kopiert und verbreitet werden
  7. solange...
  8.  
  9. * mein Name und dieser Kopierrechtshinweis erhalten bleiben,
  10. * die Vollständigkeit des ganzen Packets gewährleistet ist, und
  11. * mit dem Vertrieb dieser Software kein Gewinn erwirtschaftet wird.
  12.  
  13. Verbesserungsvorschläge sind stets willkommen. Falls Ihr Veränderungen
  14. am Programm vornehmt, dokumentiert diese bitte gut verständlich.
  15. Es würde mich freuen, wenn Ihr mich über größere Veränderungen in
  16. Kenntnis setzen würden.
  17.  
  18. Umfang des Packets
  19. ~~~~~~~~~~~~~~~~~~
  20. Das komplette Packet ´Kruemel´ beinhaltet folgendes:
  21.  
  22. *  Kruemel.dok         Diese Dokumentation
  23. *  Kruemel.mod         Der Quelltext
  24. *  Kruemel             Das compilierte Programm
  25.  
  26.  
  27. Allgemeines über zelluläre Automaten und den zyklischen Raum
  28. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29. "Zelluläre Automaten sind stillisierte, synthetische Universen... Sie haben
  30. ihre eigene Matereie, die in ihrem eigenen Raum und ihrer eigenen Zeit
  31. herumwirbelt."
  32.                                         T. Toffoli und N. Margolus
  33.                                         "Cellualar Automata Machines"
  34.  
  35. Das Programm Krümel ist ein solcher zellulärer Automat, er geht auf eine
  36. Idee von David Griffeath zurück. Das Prinzip des Programms wird in
  37. Spektrum der Wissenschaft 10/1989 vorgestellt :
  38.  
  39. "Ein zellulärer Automat besteht aus einer im Prinzip unendlichen,
  40. gitterförmigen Anordnung von Zellen, deren jede verschiedene Zustände
  41. einnehmen kann. Jede Zelle ändert ihren Zustand synchron zum Ticken
  42. einer gedachten Uhr gemäß einigen Regeln. Auf dem Computer werden die
  43. Zellen zweckmäßig als Pixel auf dem Bildschirm und ihre verschiedenen
  44. Zustände durch Farben dargestellt. Mit geeigneten Regeln und Anfangs-
  45. zuständen können zelluläre Automaten ganz erstaunliche Farbmuster erzeugen,
  46. die sich mit der Zeit weiterentwickeln.
  47. Griffeath Schöpfung, die den zyklischen Raum nennen will, beruht auf einer
  48. geradezu absurd einfachen Regel, produziert damit aber eindrucksvolle
  49. Phänomene von wissenschaftlichen Interesse und bezaubernder Schönheit :
  50.  
  51.   Man nummeriert die möglichen Zustände von 0 bis n-1. Eine Zelle im
  52.   Zustand k frißt alle Zellen, die sich im gleichen Zeittakt im Zustand
  53.   k-1 befinden;
  54.   d.h. in diesem Falle, sie macht diese durch Einverleiben zu Ihresgleichen.
  55.  
  56. Aus dierser Regel entwickeln sich regelrechte Nahrungsketten: Eine Zelle im
  57. Zustand 2 kann eine Nachbarzelle im Zustand 1 fressen, selbst wenn letztere
  58. sich gerade eine Zelle im Zustand 0 einverleibt. Im zyklischen Raum aber hat
  59. die Nahrungskette kein Ende, denn eine Zele im Zustand 0 frißt Nachbarzellen,
  60. die sich im Zustand n-1 befinden: Fressen im zyklischen Raum spielt sich auf
  61. der zyklischen Gruppe der Zahlen von 0 bis n-1 ab, wobei die Addition
  62. modulo n auszuführen ist.
  63.  
  64.                Aus Krümeln werden Krümelmonster
  65.  
  66. Mit dieser einfachen Regel kann der zyklische Raum zufällige Farbverteilungen
  67. in stabile Spiralen verwandeln. Griffeat bezeichnet den zufälligen
  68. Anfangszustand mit guten Gründen als Krümelhaufen, sieht er doch tatsächlich
  69. ziemlich durcheinander aus. Nach einiger Zeit bilden sich kleine Keime, über
  70. deren Oberfläche Farbwellen hinwegziehen. Die Keime werden immer größer, bis
  71. sie den zyklischen Raum ausfüllen. Jetzt beginnen sich kristaline Spiralen zu
  72. entwicklen - elegante Gebilde, die sich rotierend ihrer Umgebung einverleiben.
  73. Lede Spirale ensteht aus etwas, was Griffeath einen Kristalldefekt nennt. Die
  74. Spiralen wachsen mit erhabener Würde heran, geraten aber schließlich in einen
  75. Konkurenzkampf um den verfügbaren Raum. Einige unterliegen, andere aber -
  76. nennen wir sie Krümelmonster - überleben und und beherrschen die lezte Phase
  77. des zyklischen Raums.
  78.   Unabhängig von der Anzahl der möglichen bildet sich immer das selbe
  79. Szenario aus :
  80. Auf Krümelhaufen folgen Keimem Kristaldefekte, Krümelmonster. Die ersten
  81. drei Phasen sind metastabil, d.h. sie bleiben über viele Zyklen bestehen, ehe
  82. sie der nächsten Phase weichen."
  83.  
  84. Damit man die unedliche Fläche erhält von der oben gesprochen wurde, muß man
  85. ein Feld von beispielsweise 100x100 von 0 bis 99 initialisieren und an den
  86. Rändern mit einander verbinden, sodaß beispielsweise bei einem Feld der
  87. rechte Nachbar der Zelle (99,24) (0,24) ist. Dies wird erreicht, indem man
  88. die Nachbarzellen durch Modulo-Arithmetik berechnet."
  89.  
  90. Das Programm :
  91. ~~~~~~~~~~~~~~
  92. Am Anfang wird die Farbtiefe des zyklischen Raumes eingeben, zulässig sind
  93. Werte von 1 bis 16, schöne Krümelmonster erhält mit Werten von 12 bis 16.
  94. Anschließend wird die Breite und die Höhe eingegeben, hier sind Werte von
  95. 10 bis 100 erlaubt. (Man kann theoretisch die Fläche auch vergrößern, das
  96. ist nicht weiters schwer, aber es geht dann alles sehr viel langsamer.
  97. Die laufenden Brechnungen werden durch Tastendruck unterbrochen. Danach kann
  98. das Programm beenden oder von vorne beginnen.
  99. Es ist ganz gut wenn man etwas Geduld mitbringt, wenn man sich an den
  100. Bildschirm setzt und wartet bis sich die Krümelmonster über die unschuldigen
  101. Krümel hermachen.
  102.  
  103.  
  104. viel Spaß
  105.          Tommy
  106.